#include <SPI.h>
#include "RF24.h"
#include <printf.h>

#define CE_PIN   9
#define CSN_PIN  10

bool radioNumber = 1;
RF24 radio(CE_PIN, CSN_PIN);
byte addresses[][6] = {"1Node", "2Node"};             // 用于2个节点通信的无线模块通道地址
byte value = 0;

void setup() {
  Serial.begin(115200);
  //Serial.println("RF24接收例程");
  radio.begin();
  radio.enableAckPayload();                           // 允许可选的确认有效数据包
  radio.enableDynamicPayloads();                      // 确认有效数据是动态数据包
  radio.openReadingPipe(1, addresses[radioNumber]);
  radio.startListening();                             // 开始接收
}

void loop(void) {
  byte pipeNo;
  bool ACK = 1;
  while ( radio.available(&pipeNo)) {// 确认有数据
    radio.read( &value, sizeof(byte) );// 读取有效数据
    radio.writeAckPayload(pipeNo, &ACK, sizeof(bool) );// 接收的数据回送
    //Serial.print("接收数据:");
    Serial.write(value);//向树莓派发送数据
    delay(4000);//发送完数据后，暂停一会，防止重发发送
  }
}
